package com.itlong.cloud.operate.dao;

import com.itlong.cloud.POJO.DTO.operate.OperateDeviceQRCodePageDTO;
import com.itlong.cloud.POJO.VO.operate.OperateDeviceQRCodeInfoVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Mapper
@Repository
public interface IOperateDeviceQRCodeDao {

    /**
     * <desc>
     *      分页获取设备二维码数据
     * </desc>
     *
     * @param params 查询参数
     * @return
     * @Author Zhu.yj
     * @createDate  2020/2/24
     */
    List<OperateDeviceQRCodeInfoVO> getDeviceQRCodeByPage(Map<String, Object> params);

    /**
     * <desc>
     *      获取设备二维码数量
     * </desc>
     *
     * @param params 查询参数
     * @return
     * @Author Zhu.yj
     * @createDate  2020/2/24
     */
    Integer getDeviceQRCodePageCount(Map<String, Object> params);

    /**
     * <desc>
     *      批量保存设备二维码信息
     * </desc>
     *
     * @param params 批量保存的参数
     * @return
     * @Author Zhu.yj
     * @createDate  2020/2/25
     */
    Integer batchSave(List<Map<String, Object>> params);

    /**
     * <desc>
     *      批量更改设备二维码状态
     * </desc>
     *
     * @param params 批量更新参数
     * @return 受影响行数
     * @Author Zhu.yj
     * @createDate  2020/2/25
     */
    Integer updateStatus(Map<String, Object> params);

    /**
     * <desc>
     *      根据code获取useStatus与status
     * </desc>
     *
     * @param codeList 二维码id列表
     * @return
     * @Author Zhu.yj
     * @createDate  2020/3/2
     */
    List<Map<String, Object>> getQRCodeStatus(@Param("codeList") List<String> codeList);

    /**
     * <desc>
     *      获取今日创建的最大的二维码编号
     * </desc>
     *
     * @param nowDay yyMMdd格式时间字符串
     * @return
     * @Author Zhu.yj
     * @createDate  2020/3/19
     */
    String getMaxQRNumberNowDay(@Param("nowDay") String nowDay);


}
